High performance computer systems typically require large amounts of storage. Many such systems use storage that is dedicated to each server in the system. However, this results in isolated islands of storage that are not efficient or flexible. In order to increase the efficiency of such systems, various distributed storage systems have been developed.
One common distributed storage system is called a storage area network (SAN) that uses an array of disks connected by a Fibre optic switch fabric to storage servers. The storage servers are connected to a network that delivers the storage services to the high performance computer systems. A typical SAN system is shown in FIG. 1. In this system, an array of Fibre optic disks, represented schematically by disks 102-106 are connected, via Fibre optic switch fabric 108 to storage servers 110 and 112, that might illustratively be an application server 110 and a database server 122. Although only two servers are shown for clarity, one or more servers can be used in such a system. Servers 110 and 112 are, in turn, connected by a conventional network 114 to one or more SAN clients, of which client 116 is illustrated in FIG. 1.
It is common in many computer systems to provide administrative personnel with data services that allow data storage to be controlled and backup copies of stored data to be made where necessary. These data services can include data volume management in which one or more logical “volumes” are created from stored data so that the data in each volume can be manipulated as a unit.
Data backup services may include data replication in which a second copy or “mirror” of information located at a primary site is maintained at a secondary site. When changes are made to the primary data, updates are also made to the secondary data so that the primary data and the secondary data remain “synchronized.”
Another data backup service that can be provided is data imaging in which a data copy often called a data “snapshot” or “image” can be made of stored data at a designated point in time. This service provides a system administrator with the ability to make and to maintain the aforementioned replicated data storage systems.
Still other data services can be provided. For example, data stored and retrieved in a data storage system may be transferred through a fast cache memory in a process called “data caching” in order to improve overall data storage performance. Often it is desirable for system administrators to be able to control whether data caching is used with a particular data storage or a data volume residing on that storage in order to effectively use a limited resource.
These services are provided and managed by means of distributed data management software that is discussed in detail below. For example, the data management software can run in a dedicated management server 118 that is connected to network 114. Alternatively, the data management software can run in one of the other servers connected to the network. This data management software can be accessed and controlled by administrative personnel via one or more administrative terminals, of which terminal 120 is shown. Terminal 120 can be connected directly to network 114 or, as shown in FIG. 1, the terminal 120 can be located elsewhere and access the management server 118 by another mechanism such as the Internet 119.
In order to increase further the efficiency of such a SAN system, self-contained storage systems, such as system 122 can also be connected to the switch fabric 108. Storage system 122 itself contains an array of disks that can be connected by an internal Fibre optic switch fabric to one or more Fibre optic ports 124,126 that connect the system to switch 108. An internal storage controller controls the internal switch fabric to efficiently connect the disks in the internal disk array to the ports 124, 126. The system 122 is completely self-contained, including both power and cooling subsystems. Such a system is marketed as a StorEdge T model 9970/9980 storage system by Sun Microsystems, Inc., 901 San Antonio Avenue, Palo Alto, Calif.
The inclusion of a self-contained storage system 122 in the conventional SAN system 100 presents some problems with regard to providing and managing the aforementioned data services for the disks internal to the system 122. One problem is that the disks internal to storage system 122 are not directly visible to the management software in server 118 so that it is difficult to integrate them into the distributed data system managed by the software in server 118. Another problem is that some mechanism must be introduced into the self-contained storage system into order to provide the appropriate data services and this mechanism must be amenable to distributed control by the software in server 118.